This page last changed on Nov 16, 2005 by rossmason.
The following table shows the different messaging characteristics that each of the Mule providers support. For example some transports a only support event dispatching such as RMI. The column heads are described below.
Transport |
Type |
Receive |
Send (sync) |
Dispatch(async) |
Request/Response |
Remote Sync |
Transactions |
AS400 DQ |
Messaging |
|
|
|
|
|
|
Ejb |
Remoting |
|
|
|
|
|
|
Email |
Record |
|
|
|
|
|
|
File |
Record |
|
|
|
|
|
|
Ftp |
Record |
|
|
|
|
|
|
Http |
Socket |
|
|
|
|
|
|
Imap |
Messaging |
|
|
|
|
|
|
Jdbc |
Record |
|
|
|
|
|
Jdbc, Xa |
Jms |
Messaging |
|
|
|
|
|
Jms, Ack, Xa |
Multicast |
Socket |
|
|
|
|
|
|
Pop3 |
Messaging |
|
|
|
|
|
|
Quartz |
Repository |
|
|
|
|
|
|
Rmi |
Remoting |
|
|
|
|
|
|
Servlet |
Socket |
|
|
|
|
|
|
Smtp |
Messaging |
|
|
|
|
|
|
Soap |
Remoting |
|
|
|
|
Depends on transport being used |
Depends on transport being used |
Ssl |
Socket |
|
|
|
|
|
|
Stream |
Socket |
|
|
|
|
|
|
Tcp |
Socket |
|
|
|
|
|
|
Udp |
Socket |
|
|
|
|
|
|
Vm |
Messaging |
|
|
|
|
|
Vm, Xa |
Xmpp |
Messaging |
|
|
|
|
|
|
Transport - The name/protocol of the transport
Type - Whether the transport is a lower level socket-based or higher-level messaging or remoting or if the interacts with a record store such as a file system or database.
Receive - Whether the transport can receive events and can be used for an inbound endpoint
Send (sync) - Whether events can be send synchronously (in the same thread as the request) using the transport
Dispatch(async) - Whether events can be send aynchronously
Request/Response - Whether this endpoint can be queried directly with a request and return a response (Imlementation of the receive() method in UMOMessageDispatcher)
Remote Sync - Whether this transport support remoteSynchronous. This where Mule uses as back channel automatically to receive a response from a remote host. Transports such as Http support this implicitly others such as Jms will set up a Temporary ReplyTo Queue to receive a response. This allows you to chain request/response calls over two or more remote hosts.
Transactions - Whether transactions are supported by the transports. Transports that support (/)A transactions can be configured in a distributed 2 Phase Commit (Distributed) transaction.
|